BUILD-8956 Extract config-poetry action from build-poetry#292
Conversation
Agentic Analysis: Early ResultsAgentic Analysis and Context Augmentation are available on your project. Here are some issues that could have been prevented. Follow the links to learn how to put them into action. 3 issue(s) found across 2 file(s):
Analyzed by SonarQube Agentic Analysis in 3.4 s |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new config-poetry composite action to set up Poetry + Repox (JFrog) authentication, caching, and build-number management, and refactors build-poetry to delegate that setup to config-poetry (similar to the existing config-npm / build-npm split).
Changes:
- Added
config-poetrycomposite action andpoetry_config.shto configure JFrog + Poetry auth and exportPOETRY_HTTP_BASIC_REPOX_*viaGITHUB_ENV. - Refactored
build-poetryto stop configuring Repox for dependency install, and instead callconfig-poetry. - Added ShellSpec coverage for
config-poetry/poetry_config.sh, updatedbuild-poetrytests, and includedconfig-poetryin kcov include patterns.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
config-poetry/action.yml |
New composite action to configure build number, caching, and Poetry/JFrog auth. |
config-poetry/poetry_config.sh |
New script that configures JFrog CLI + Poetry auth and exports Repox basic-auth env vars. |
config-poetry/mise.local.toml |
Adds mise tool/env config for installing/configuring JFrog CLI for config-poetry. |
build-poetry/action.yml |
Delegates setup to config-poetry and adjusts outputs / vault usage accordingly. |
build-poetry/build.sh |
Removes in-script Repox dependency setup; installs dependencies via plain poetry install. |
spec/config-poetry_spec.sh |
New ShellSpec tests for config-poetry/poetry_config.sh. |
spec/build-poetry_spec.sh |
Updates expectations to reflect moved Repox configuration and renamed install function. |
README.md |
Documents the new config-poetry action and notes build-poetry now calls it. |
.shellspec |
Adds config-poetry to the kcov include pattern. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Add a standalone config-poetry composite action that fetches Vault credentials, configures JFrog CLI and Poetry for Repox, caches Poetry dependencies, and sets BUILD_NUMBER. Refactor build-poetry to consume config-poetry the same way build-npm uses config-npm.
Move project version setup into config-poetry, merge setup steps, add workflow-scoped cache keys, use global jf poetry-config, inline poetry install in build-poetry, and split mise restore into an always() step.
24e1672 to
0092d6a
Compare
Code Review ✅ Approved 4 resolved / 4 findingsExtracts the Poetry configuration logic into a standalone composite action, enabling modular reuse while addressing previous issues with mise environment restoration and unused input declarations. ✅ 4 resolved✅ Bug: mise restore runs in wrong dir when working-directory != '.'
✅ Bug: mise files not restored if a step fails before restore
✅ Quality: config-poetry input poetry-virtualenvs-path is declared but never used
✅ Edge Case: Cache key sanitization only replaces spaces, not other illegal chars
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
|



Summary
config-poetrycomposite action for Repox authentication, JFrog CLI setup, Poetry caching, and build number managementbuild-poetryto delegate configuration toconfig-poetry, mirroring theconfig-npm/build-npmsplitconfig-poetry/poetry_config.shand updatesbuild-poetrytestsBehavioral changes
build-poetryno longer fetches Artifactory reader credentials itself; that is handled byconfig-poetryconfig-poetrycan now be used standalone in workflows that need Poetry + Repox without a full buildPOETRY_HTTP_BASIC_REPOX_USERNAMEandPOETRY_HTTP_BASIC_REPOX_PASSWORDare exported viaGITHUB_ENVfor downstream stepsTest plan
shellspec spec/config-poetry_spec.sh spec/build-poetry_spec.shpasses locally